package com.sky.demo.proxy.staticproxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

/**
 * Description:
 * 静态代理 （装饰者模式）
 * 不改变 IRentingHouseImp 代码的情况下，对 IRentingHouseImp 中的 rentHouse方法进行增强
 * 优点：很容易就完成了对一个类的代理操作。
 * 缺点：由于静态代理只能为一个类服务，如果需要代理的类很多，那么就需要编写大量的代理类，比较繁琐。
 * @author Sky
 * @Date 2021/7/31 14:12
 */
public class StaticProxyTest {
    public static void main(String[] args) {

        //租房委托方
        IRentingHouse iRentingHouse = new IRentingHouseImp();

        //租房中介
        RentingHouseProxy rentingHouseProxy = new RentingHouseProxy(iRentingHouse);

        rentingHouseProxy.rentHouse();

    }
}
